草庐IT

python - 测试 KeyError

全部标签

javascript - AngularJS TypeScript 单元测试

我正在努力为angularjs(v1.4.9)应用程序创建适当的单元测试,它包含javascript文件(带有jasmine测试)和typescript文件(根本没有测试,现在我正在尝试使用Mocha,但它可以是任何框架)。因此它混合了一个没有模块的旧angularjs,我决定将所有.ts编译到一个bundle.js文件,以避免文件排序问题(当我有单个.js文件时发生每个.ts并将其与gulp任务一起注入(inject)index.html)。我的tsconfig.js:{"compileOnSave":true,"compilerOptions":{"noImplicitAny":f

javascript - 如何使用 JsTestDriver 测试 AngularJS Controller ?

我有以下代码:functionTestStats($xhr){$xhr('GET','/test-dashboard/get-projects.json',angular.bind(this,function(code,response){this.projects=response.projects;this.projects.splice(0,0,undefined);}));this.$watch('project',angular.bind(this,function(){this.testClassStats=undefined;if(this.project){$xhr('

javascript - 为什么 React 需要 jsdom 进行测试?

在为React组件编写测试时,您必须将它们渲染到DOM中,以便断言它们的正确性。例如,如果你想测试某个类是否被添加到给定某个状态的节点,你必须渲染到DOM节点,然后通过普通的DOMAPI检查该DOM节点。问题是,考虑到React维护一个虚拟DOM来渲染它,为什么我们不能在组件渲染后就在虚拟DOM上断言?在我看来,这是拥有虚拟DOM之类的东西的一个很好的理由。我错过了什么吗? 最佳答案 你真的没有错过任何东西。我们正在努力让它变得更好。虚拟部分一直是React的一个非常重要的实现细节,没有以任何有用或可靠的方式暴露出来进行测试。我们的

javascript - Jasmine Controller 测试,预计 spy 已被调用

我在AngularJSController中定义了一个方法,该方法在初始化时调用。我想使用Jasmine("jasmine-core":"^2.3.4","karma":"^0.12.37")测试它。我遵循了Internet上的一些教程和StackOverflow问题,但找不到正确的答案。请看一下这段代码:ControllerusersAddUserController:(function(){'usestrict';angular.module('app.users.addUser').controller('usersAddUserController',['$scope','us

javascript - 用 enzyme react 测试组件 Prop 变化

我正在修改此处找到的示例:https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/setProps.mdclassFooextendsReact.Component{render(){return({}}/>);}}it('shouldpassanddoesnot',()=>{constwrapper=mount();expect(wrapper.find('.foo').html()).toBe(``);wrapper.setProps({name:'bar'});expect(wrapper.find('

javascript - 测试 Vue.js 组件

我想测试一个Vue.js组件,但我失败了。简单地说,我正在设置一个组件属性,我想断言它设置正确。如果这很重要,模块将加载导出,并使用Webpack输出JS。//componentexports=module.exports={};module.exports={data:function(){return{active:false};},methods:{'close':function(){console.log(this.active);//->truethis.active=false;console.log(this.active);//->false}}};//compone

Javascript 返回什么应该是速记 boolean 测试的字符串

有人可以向我解释为什么这会返回空字符串("")而不是boolean值(false)吗?varx="";alert(x&&x.length>0);...虽然这按预期工作,但返回true:vary="abc";alert(y&&y.length>0);我基本上只是想做一个简单的速记检查,看看变量中是否存在一个值(确保它不是未定义的、空的或空字符串)。我知道我可以单独进行每个测试(x==null,typeofx=='undefined',x=='')-我只是想了解为什么Javascript返回一个看起来像a的字符串boolean测试。 最佳答案

javascript - Angular.js 使用 html2js 将指令与外部模板联合测试 - 无法加载模板

我正在尝试测试使用外部模板的指令。我尝试了以下所有解决方案,但没有成功:ng-directive-testingHowtotestdirectivesthatusetemplateUrlandcontrollers?AngularJS+Karma+Ng-html2js=>Failedtoinstantiatemodule...html我创建了一个测试指令(一个简单的div)并使用内联"template"和外部“templateUrl”对其进行了测试。内联解决方案有效,而外部解决方案无效:angular.module('AdUnit').directive('actionButton',

javascript - 使用 Protractor 测试 Canvas 绘图

有没有办法测试绘图是否是使用Protractor在Canvas上绘制的?即我根据用户点击绘制了一个矩形:varshape=newcreatejs.Shape();shape.graphics.beginStroke("black");shape.graphics.drawRect(crd.x,crd.y,crd.width,crd.height);stage.addChild(shape)stage.update()现在我想制定一个规范来测试是否在指定坐标上绘制了一个矩形,并且作为一个加号,测试它的边框是否为黑色。这可以使用Protractor/WebDriverJSAPI吗?

javascript - AngularJs Jasmine 单元测试中的 $httpBackend

我无法让我的单元测试正常工作。我有一个开始为空的$scope数组,但应该用$http.get()填充。在真实环境中,数组中大约有15个左右的对象,但对于我的单元测试,我只抓取了2个。对于单元测试,我有:expect($scope.stuff.length).toBe(2);但jasmine的错误是:Expected0tobe2.这是我的controller.js:$scope.stuff=[];$scope.getStuff=function(){varurl=site.root+'api/stuff';$http.get(url).success(function(data){$sc